package jgl.vajra.kingkong.part.vehicle.contract;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import jgl.vajra.kingkong.bean.CouponAvailableBean;
import jgl.vajra.kingkong.databinding.ActivityCouponAvailableBinding;
import jgl.vajra.kingkong.widget.mvvm.model.BaseModel;
import jgl.vajra.kingkong.widget.mvvm.view.BaseMVVMView;
import jgl.vajra.kingkong.widget.mvvm.viewmodel.BaseViewModel;

public class CouponAvailableContract {
    public abstract static class Model extends BaseModel {
        public abstract Observable<List<CouponAvailableBean>> getCouponsAvailableData(Map<String, Object> map);
    }

    public interface View extends BaseMVVMView {

        void onNoCoupons();

        void onDetails(CouponAvailableBean itemData);

        void onUseRules(CouponAvailableBean itemData);

        void returnCouponsAvailableData(List<CouponAvailableBean> data);
    }

    public abstract static class ViewModel extends BaseViewModel<View, ActivityCouponAvailableBinding, Model> {

        public abstract void getCouponsAvailableData(Map<String, Object> map);
    }
}
